import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class test1 {
	public static void main(String[] args) {

       
		//String reg = "[a-zA-z]+://[^\\s]*";
		String reg = "\\w+\\.(com|cn|gov|edu)";
		String str = readFileByLines("C:\\a.txt");
		Pattern pattern = Pattern.compile(reg);
		Matcher m = pattern.matcher(str);
		boolean result = m.find();
		while (result) {
			String value = m.group();
			System.out.println(value);
			result = m.find();
		}
	}
	
	public static String readFileByLines(String fileName) {
		File file = new File(fileName);
		BufferedReader reader = null;
		StringBuilder b = new StringBuilder();
		 
		try {
			System.out.println("以行为单位读取文件内容，一次读一整行：");
			reader = new BufferedReader(new FileReader(file));
			String tempString = null;
			int line = 1;
			// 一次读入一行，直到读入null为文件结束
			while ((tempString = reader.readLine()) != null) {
				 b.append(tempString);
				line++;
			}
			reader.close();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (reader != null) {
				try {
					reader.close();
				} catch (IOException e1) {
				}
			}
		}
		return b.toString();
	}
	
}
